`
https://leetcode.cn/problems/merge-sorted-array/
`

/**
 * @param {number[]} nums1
 * @param {number} m
 * @param {number[]} nums2
 * @param {number} n
 * @return {void} Do not return anything, modify nums1 in-place instead.
 */
var merge = function (nums1, m, nums2, n) {
  let i = m - 1, j = n - 1
  // 从 num1 的尾部开始放入合并后的元素
  let p = nums1.length - 1
  while (i >= 0 && j >= 0) {
    if (nums1[i] > nums2[j]) {
      nums1[p] = nums1[i]
      i--
    } else {
      nums1[p] = nums2[j]
      j--
    }
    p--
  }

  // 如果 num1 有剩余，那些数字本来就在 num1 里面
  // 只需要关注 num2 是否有剩余
  while (j >= 0) {
    nums1[p] = nums2[j]
    j--
    p--
  }
};